#include <head.h>

int sock_fd;

int UDP_init(in_port_t port)
{
	// 1.创建用户数据报
	sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
	if (-1 == sock_fd)
	{
		ERRLOG("套接字创建错误");
		return 0;
	}
	// 2、填充服务器网络信息结构体

	struct sockaddr_in server_addr;
	// 清空结构体
	memset(&server_addr, 0, sizeof(server_addr));
	// 确定协议 选择 IPV4
	server_addr.sin_family = AF_INET;
	// 端口号
	server_addr.sin_port = htons(port); // 端口号可以随意指定
										// IP地址
	server_addr.sin_addr.s_addr = inet_addr("0.0.0.0");

	// 3、将套接字与服务器的网络信息结构体绑定
	if (-1 == bind(sock_fd, (struct sockaddr *)&server_addr, sizeof(server_addr)))
	{
		ERRLOG("套接字创建错误");
		close(sock_fd);
		return 0;
	}

	// 返回套接字
	return sock_fd;
}
void UDP_close(void)
{
	// 关闭套接字
	close(sock_fd);
}